Not Applicable
Not Applicable
1. Field of the Invention
This invention relates to wireless communication networks, including networks servicing cellular telephones, personal communication systems, and the like. More particularly, the invention concerns an apparatus and method to increase call capacity through load balancing of signaling traffic workload in a wireless communication network radio control processor cluster with designated signaling links to subtending network elements communicating with one or more radio units.
2. Description of the Prior Art
Modern wireless communication networks, such as cellular telephone systems, personal communication systems, and the like, employ message signaling to provide operational, administrative and maintenance functionality in support of cell base stations that communicate with mobile (or non-mobile) network radio units. When a call is originated from, or terminated to, a radio unit located in a cell managed by a cell base station, a signaling system serving the base station routes signaling messages that enable the base station to perform the necessary call set-up, knock-down, hand-off and paging functions required for wireless cell-based communication. Signaling support may also be implemented for subscriber-specific intelligent network services, such as Call Forwarding, Call Waiting, Three-way Calling, Calling Line Identification and the like.
Existing wireless network signaling systems are implemented using programmed computers. These processing elements are referred to by various names, including xe2x80x9capplication processorsxe2x80x9d (APs). They are usually located in a mobile switching center (MSC), or in a base station controller (BSC) if such is in use in the mobile communication network. For convenience, the terms xe2x80x9capplication processorxe2x80x9d and xe2x80x9cAPxe2x80x9d will be used hereinafter to refer to a signal processing component (described in more detail below) that processes signaling messages on behalf of cell base stations. The use of these terms is not intended to signify any particular architecture or commercial product offering.
In some wireless communication networks, such as the FLEXENT(trademark) system from Lucent Technologies Inc., signaling functions are implemented on behalf of cell base stations by clusters of application processors arranged in a networked environment. The application processors act as network servers that maintain signaling links to the cell base stations, which function as subtending network client elements. Each application processor supports a fixed number of signaling links extending to several subtending cells (of different type and size).
An application processor cluster is a group of application processors that are mounted on a single frame or chassis having one or more power feeds. Often, there are two shelf racks on a frame, each with-a separate power feed, that hold two to four application processors, for a total of four to eight application processors per application cluster. Each application processor includes a CPU running multiple instances of the same radio control software (RCS), with each radio control software instance serving one or more cell base stations. By way of example, a single application processor may have anywhere from sixteen to forty-eight (or more) simultaneously executing radio control software instances, depending on the size of cells and the amount of signaling workload they produce.
In order to provide high levels of processor availability, as well as simplified administration and maintenance operations, prior art wireless communication networks typically assign each cell to a pair of application processors, both of which are co-located in the same application processor cluster, but which run off different power feeds. With respect to any given cell to which the application processor pair is connected, one of the application processors acts as the primary processor, and one of its radio control software instances runs in an active mode to handle all of the processing for the subtending cell. The other application processor acts as the secondary processor for the cell, and one of its radio control software instances is placed in a standby mode. This arrangement provides a degree of fail safety. In the event that the primary application processor fails or is taken off-line for maintenance, the secondary processor assumes the load, i.e., its radio control software instance becomes active. To facilitate a rapid transition between the primary and secondary application processors, two signaling links are permanently connected through a switching fabric between the cell and the pair of application processors providing service. Each signaling link typically comprises one DS0 channel of a multi-channel (e.g., T1 or E1) facility.
Although the foregoing redundancy is useful, it imposes a restriction on the distribution of application processors and the rated capacity of the radio control software running thereon. First, because the application processors are paired, a single processor fault (hardware/software/procedural) occurring during planned maintenance operations of the mate processor can interrupt service to all subtending cells. Second, with the paired processor approach, 40-50% of the CPU processing capacity must sit idle during normal operations. That is because each application processor is usually assigned to operate as the primary processor for one group of cells and as the secondary processor for another group of cells. Each application processor thus runs a plurality of primary/active radio control software instances (e.g., eight), and a plurality of secondary/standby radio control software instances (e.g., eight). The secondary/standby radio software instances represent the above-referenced 40-50% idle CPU capacity. This unused CPU capacity is reserved to run the workload of the mate processor in the processor pair in the event that the mate processor fails or is undergoing maintenance.
It will be appreciated that the prior art CPU distribution and recovery approach greatly restricts the rated capacity of the processor elements and the total system capacity for the network. With CPU availability limited by 40-50%, application processor overload can occur as a result of excessive message traffic and over-demand for signaling system functions. This can cause messaging delays and lower quality of service to wireless subscribers. Consider further that as wireless communication networks evolve and end user events migrate geographically, capacity needs and work loads will change. By way of example, some wireless communication network equipment providers plan to introduce modular base stations that will allow customers to change air interface technology and increase cell size and capacity over time. In such high mobility networks, the statically paired application processor approach of the prior art may not be able to sustain the rated processor capacity when more message traffic is generated during the life of a call.
As cells grow and capacity increases for one or more cells, the workload across the pair of processors may no longer be evenly distributed and may exceed the specified normal operating threshold (CPU utilization threshold) required to maintain rated call capacity on the terminating processors. Changes in call load (due to time of day, location or transient local end user/terminal events) can lead to one of the processors being over utilized and the other being under utilized.
Accommodating such workload imbalances in a conventional paired application processor configuration is impractical at best. To redistribute workload evenly, current systems require that the cells be taken off-line so that configuration changes can be made to the facility assignment on the switch connecting the application processors to the subtending cells. Of course, any configuration changes that interrupt service and increase maintenance procedures for wireless communication networks should be avoided.
Accordingly, there is a need in a wireless communication network, and particularly a wireless network implementing clustered application processors providing message signaling support, for improved control of message processing resources in response to changes in message traffic conditions in the the subtending cells. What is required is a message control system that is dynamically configurable in response to changing message traffic conditions in order to promote improved load sharing among operational application processors. In a further aspect, an application processor load sharing arrangement is needed in order to minimize service impairments arising from application processor overload and/or the effects of an interruption in application processor functionality as a result of failure, maintenance operations, or otherwise.
A solution to the foregoing problem is provided in a wireless communication network that includes a message processing subsystem with at least two programmable application processors providing operational, administrative and maintenance support for one or more cell base stations in the network serving one or more wireless radio units. Improved control of application processor message processing resources is provided in response to message processing workload imbalances as well as application processor shutdown conditions.
In accordance with the invention, a method and apparatus are provided for implementing dynamic load balancing of radio control software to optimize application processor performance and network reliability for varying traffic patterns from subtending cells. The cells may be of generally fixed capacity or they may be xe2x80x9cmodular,xe2x80x9d such that their message processing workload can change significantly over time. Multiple radio control software instances corresponding to a group of cells (cell group) run on a group of two (or more) application processors (application processor group) within an application processor cluster. Each radio control software instance has two designations, namely, xe2x80x9cactive or standbyxe2x80x9d and xe2x80x9cprimary or secondary.xe2x80x9d The active-standby designation determines the mode that a radio control processor runs in at any given moment. The primary-secondary designation determines the mode that a radio control software instance will operate in upon system initialization. Primary radio control software instances start up in the active mode, whereas secondary radio control software instances start up in the standby mode.
In accordance with the first embodiment of the invention, a first application processor in the application processor group runs primary radio control software instances in an xe2x80x9cactivexe2x80x9d mode on behalf of a defined group of cells, and a second application processor in the application processor group runs secondary radio control software instances in a xe2x80x9cstandbyxe2x80x9d mode on behalf of the cells. Primary/active radio control software instances running on the first application processor are mated with corresponding secondary/standby radio control software instances running on the second application processor. Each application processor running a primary/active or secondary/standby radio control software instance for a particular cell has a signaling link to that cell connected through a common subtending network switching element.
Each application processor running primary/active radio control software instances for a first group of cells also runs secondary/standby radio control software instances for a second group of cells. Conversely, each application processor running secondary/standby radio control software instances for the first group of cells also runs primary/active radio control software instances for the second group of cells.
In the first preferred embodiment of the invention, the number of primary/active and secondary/standby radio control software instances running on the first and second application processors is fixed during system initialization for a specified system load balancing. For example, the first application processor may run eight primary/active radio control software instances on behalf of a first group of eight cells and the second application processor may run eight secondary/standby radio control software instances on behalf of the first cell group. The first application processor may also run eight secondary/standby radio control software instances on behalf of a second group of eight cells, while the second application processor runs eight primary/active radio control software instances on behalf of the second cell group. As part of dynamic load balancing due to cell capacity growth or periodic increased traffic patterns, the workload on a primary/active radio control software instance running on the first application processor can be swapped with its corresponding secondary/standby radio control software instance running on the second application processors, in order to optimize processor utilization. More specifically, the primary/active radio control software instance running on the first application processor can be redesignated as the standby radio control software instance for a given cell in the first cell group, and the secondary/standby radio control software instance running on the second application processor can be redesignated as the active radio control software instance for the same cell.
In the example given above, the first application processor would now run seven active and nine standby radio control software instances, and the second application processor would run nine active and seven standby radio control software instances. Even though the redesignated radio control software instances are changed between active and standby status, their primary and secondary designations can be left unchanged, in which case, the affected radio control software instances will be reset to their original operational modes upon system reinitialization (e.g., reboot). If it is desired to make the active-standby reconfiguration permanent across reboots, the primary-secondary designations can also be changed in accordance with the first embodiment of the invention. Thus, a primary/active radio control software instance can be redesignated as a secondary/standby radio control software instance, and visa versa.
The above-described dynamic load balancing between application processors can be manual or automatic based on performance bottlenecks in the system. The method can be applied to duplex-processors, fault tolerant (FT) systems, commercial processors, imbedded processors, as well as high availability and clustered solutions. A significant advantage of dynamic load balancing is that CPU utilization can be greatly increased in comparison to prior art systems in order to accommodate changing load conditions.
In a variation of the foregoing, an entire group of RCS instances (either active or standby) can be dynamically moved (re-homed) from one AP to another without taking any cells offline. For example, a group of active RCS instances can be re-homed from an overburdened AP to a less burdened AP. A group of standby RCS instances can be re-homed in order to distribute standby processing across multiple APs, as will now be described relative to a second preferred embodiment of the invention.
In the second preferred embodiment of the invention, a distributed mated-pair application processor arrangement is utilized. In the distributed mated-pair arrangement, one application processor in an application processor group conventionally functions as a primary application processor running primary/active radio control software instances on behalf of a defined group of cells (as well as a secondary processor for other cells). As is also conventional, each cell is nailed-up across, or can receive service from, two application processors. In the distributed mated-pair arrangement, however, the secondary/standby radio control software instances for the defined cell group are fixed (e.g., by re-homing as described above) on multiple secondary application processors to distribute the message processing workload under fault conditions (performance or hardware). By way of example, a primary application processor in an application processor group may run eight primary/active software instances on behalf of a defined cell group, and two secondary application processors in the application processor group may each run four secondary/standby radio control software instances on behalf of the cell group. As in the first preferred embodiment, dynamic load balancing can be used to redistribute the active-standby (or primary-secondary) radio control software instances between the application processors. Should the primary application processor running primary/active radio control software instances for a cell group fail or otherwise be removed from service, the secondary application processors will pick up the message processing load for the cell group, i.e., their secondary/standby radio control software instances for the cell group will become secondary/active radio control software instances for the cell group. Two significant advantages of this arrangement are that (1) increased application processor capacity is available for normal (pre-failure) message processing, and (2) the number of cells impacted by application processor failures is reduced.